--- @param extension Package
--- @param HY HY_Utility
--- @param U Utility
return function(extension, HY, U)
    local blade_new = fk.CreateCard {
        name = "blade_new",
        type = Card.TypeEquip,
        sub_type = Card.SubtypeWeapon,
        attack_range = 3,
        equip_skill = "#blade_skill_new",
        
        on_uninstall = function(self, room, player)
            Weapon.onUninstall(self, room, player)
            room:setPlayerMark(player, "blade_new", 0)
        end,
    }
    local bladeSkill_new = fk.CreateSkill {
        name = "#blade_skill_new",
        attached_equip = "blade_new",
    }
    bladeSkill_new:addEffect(fk.PreCardUse, {
        can_trigger = function(self, event, target, player, data)
            return player:hasSkill(bladeSkill_new.name) and data.card.trueName == "slash" and data.from == player and player:getMark("blade_new") == 1
        end,
        on_cost = Util.TrueFunc,
        on_use = function(self, event, target, player, data)
            local room = player.room
            room:setPlayerMark(player, "blade_new", 0)
            room:broadcastPlaySound("./packages/touhou_hy/audio/card/blade_new")
            room:setEmotion(player, "./packages/touhou_hy/image/anim/blade_new")
            data.additionalDamage = (data.additionalDamage or 0) + 1
        end,
    })
    bladeSkill_new:addEffect(fk.CardUseFinished, {
        can_refresh = function(self, event, target, player, data)
            return player:hasSkill(bladeSkill_new.name) and data.card.trueName == "slash" and data.from == player and (data.damageDealt == nil or not table.any(data.damageDealt, function(value)
                return value > 0
            end))
        end,
        on_refresh = function(self, event, target, player, data)
            local room = player.room
            room:setPlayerMark(player, "blade_new", 1)
        end
    })
    extension:loadSkillSkels { bladeSkill_new }
    extension:loadCardSkels { blade_new }
    extension:addCardSpec("blade_new", Card.Spade, 5)
    Fk:loadTranslationTable {
        ["blade_new"] = "盘龙偃月刀",
        [":blade_new"] = "装备牌·武器<br /><b>攻击范围</b>：３<br /><b>武器技能</b>：若你使用的杀未造成伤害，你的下一张杀造成的伤害+1。",
        ["#blade_skill_new"] = "盘龙偃月刀",
    }
end
